<?php

class auditorController extends Controller
{
    public function __construct(){
        parent::__construct();
    }
    
    public function index(){
        $auditor = $this->loadModel('auditor');
        $auditor->open();
        $order = isset($_GET['order']) ? $_GET['order'] : '';
        echo $order;
        $this->_view->assign('posts', $auditor->getAuditores($order));
        $this->_view->assign('order', $order);
        $this->_view->assign('titulo', 'Auditores :: Lista');
        $this->_view->renderizar('index', 'auditor');
    }
    
    public function nuevo(){
        $auditor = $this->loadModel('auditor');
        $auditor->open();
        
        $this->_view->assign('titulo', 'Nuevo Administrador');
        $this->_view->setJs(array('nuevo'));
        
        $ids[] = 0;
        $nombres[] = "Seleccione un usuario...";
        
        //CARGAR LISTA DE USUARIOS
        $usuarios = $auditor->getUsuarios();
        foreach($usuarios as $usuario){
            $ids[] = $usuario['id_usuario'];
            $nombres[] = $usuario['nombre'] . " " . $usuario['apellidos'];
        }
        
        //CARGAR CATEGORIAS
        $auditor_tipo = $this->loadModel('tipoAuditor');
        $auditor_tipo->open();
        
        foreach($auditor_tipo->gets() as $tipo){
            $tipo_ids[] = $tipo['id'];
            $tipo_descrip[] = $tipo['descrip'];
        }
        
        $this->_view->assign('option_id', $ids);
        $this->_view->assign('option_name', $nombres);
        
        $this->_view->assign('option_tipo_id', $tipo_ids);
        $this->_view->assign('option_tipo_descrip', $tipo_descrip);
        
        if($this->getInt('guardar') == 1){
            $this->_view->assign('datos', $_POST);
            
            if($_POST['id_usuario'] == 0){
                $this->_view->assign('_error', 'Debe Seleccionar un auditor');
                $this->_view->renderizar('nuevo', 'auditor');
                exit;
            }
            
            if(!$this->getInt('tipo')){
                $this->_view->assign('_error', 'Debe Seleccionar una clasificacion para el auditor');
                $this->_view->renderizar('nuevo', 'auditor');
                exit;
            }
            
            unset($_POST['guardar']);
            
            if(!$auditor->insert($_POST)){
                $this->_view->assign('_error', 'Ocurrio un error al intentar dar de alta al usuario');
                $this->_view->renderizar('nuevo', 'auditor');
                exit;
            }
            
            $this->redireccionar('auditorias/auditor');
        }       
        
        $this->_view->renderizar('nuevo', 'auditor');
    }
    
    public function editar($id)
    {
        $auditor = $this->loadModel('auditor');
        $auditor->open();
        
        if(!$this->filtrarInt($id)){
            $this->redireccionar('auditorias/auditor');
        }

        if(!$auditor->get('id_usuario', $this->filtrarInt($id))){
            $this->redireccionar('auditorias/auditor');
        }
        
        $auditor_tipo = $this->loadModel('tipoAuditor');
        $auditor_tipo->open();
        
        foreach($auditor_tipo->gets() as $tipo){
            $tipo_ids[] = $tipo['id'];
            $tipo_descrip[] = $tipo['descrip'];
        }
        
        $this->_view->assign('option_tipo_id', $tipo_ids);
        $this->_view->assign('option_tipo_descrip', $tipo_descrip);
        
        $this->_view->assign('titulo', 'Editar Auditor');
        $this->_view->setJs(array('nuevo'));
        
        if($this->getInt('guardar') == 1){
            $this->_view->assign('datos', $_POST);
            
            if(!$this->getInt('tipo')){
                $this->_view->assign('_error', 'Debe Seleccionar una clasificacion para el auditor');
                $this->_view->renderizar('nuevo', 'auditor');
                exit;
            }
            
            unset($_POST['guardar']);
            
            $auditor->edit('id_usuario', $id, $_POST);
            
            $this->redireccionar('auditorias/auditor');
        }
        $dat = $auditor->getAuditor($this->filtrarInt($id));
        $this->_view->assign('datos', $dat[0]);
        $this->_view->renderizar('editar', 'auditor');
    }
    
    public function eliminar($id)
    {
        $auditor = $this->loadModel('auditor');
        $auditor->open();
        
        if(!$this->filtrarInt($id)){
            $this->redireccionar('auditorias/auditor');
        }
        
        if(!$auditor->get('id_usuario', $this->filtrarInt($id))){
            $this->redireccionar('auditorias/auditor');
        }
        
        if(!$auditor->del('id_usuario', $this->filtrarInt($id))){
            $this->_view->assign('_error', 'Ocurrio un error al intentar eliminar el usuario');
            $this->_view->renderizar('nuevo', 'auditor');
        }
        $this->redireccionar('auditorias/auditor');
    }
}

?>
